#ifndef __BUOLA_GUI_TKEY_H__
#define __BUOLA_GUI_TKEY_H__

#include <buola/gui.h>

namespace buola { namespace gui {

///\addtogroup gui
///@{

class TKey
{
public:
    TKey()
    {
        mKey=KEY_NONE;
    }

    TKey(EKeyCode pKey)
    {
        mKey=pKey;
    }

    TKey(const TKey &pKey)
    {
        mKey=pKey.mKey;
    }

    EKeyCode GetCode() const            {   return mKey;    }

    bool operator==(const TKey&) const;
    std::wstring GetName();
    std::string GetIdentifier();

    TKey &operator=(EKeyCode pKey)
    {
        mKey=pKey;
        return *this;
    }

private:
    EKeyCode mKey;
};

///@}

/*namespace gui*/ } /*namespace buola*/ }

#endif
